package com.neuedu.javase.array;

/**
 * @author :金山老师
 * project: MyJavaSE
 * 描述 ： 顺序查找
 * @date : 2025/10/22 13:44 星期三
 */
public class FindElement {


    /**
     *  ds = {7,9,6,2,5,1,0,3,8,4}
     * @param args
     */
    public static void main(String[] args) {


        // int  ds[] = {7,9,6,2,5,1,6,3,8,4};
        // int findNum = 2;
        //
        // //默认查找到的下标为-1
        // int index  = -1;
        //
        //
        //
        // //查找  ds.length.fori 生成下面的代码
        // for (int i = 0; i < ds.length; i++) {
        //     if(ds[i ] == findNum){
        //
        //         index = i;
        //         break;
        //     }
        // }
        //
        //
        //
        // // 结果输出
        // if(index  == -1){
        //     System.out.println(findNum + "数据在 数组中不存在");
        // }else{
        //     System.out.println(findNum + "在 数组的第"+(index+1)+"个元素 ");
        //
        // }




        int[] sort = { 1, 2, 3, 4, 5,  7, 8, 9 };

        int key = 6;// 需要查找的值
        int index= -1;// 记录 查找位置的变量

        int low = 0;
        int high = sort.length - 1;

        while (high >= low) {
            int mid = (low + high) / 2;


            if(key == sort[mid]){
                index = mid;
                break;
            }else if(sort[mid] < key){
                low = mid + 1;
            }else{
                high = mid - 1;
            }



        }


        if (index == -1){
            System.out.println("数组中不存在元素" + key);
        }
        else{
            System.out.println("元素" + key + "在数组中的下标是" + index);
        }









    }
}
